<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="mockjs/mock-min.js"></script>
</head>
<body>
    <script>
        // mock方法的模板定义规则
        // 属性值是字符串的时候(String 的模块规则)
        // 'name|min-max': string,在min和max之间随意范围生成
        let data=Mock.mock({
            "str|1-10":"★"
        });
        console.log(data);

        // 'name|count':string, 生成固定长度的字符串
        let data2=Mock.mock({
            "str|10":"★"
        });
        console.log(data2);

        // 属性值是数字 Number（Number 的模块规则）
        // 'name|+1':number, 数值累加[+数值]数值累计计数,需要注意程序在构建时候用于累加计数的模板值，必须属于全局共享状态
        let data3={
            "id|+1":202
        };
        console.log(Mock.mock(data3));
        console.log(Mock.mock(data3));
        console.log(Mock.mock(data3));

        // 'name|min-max.dmin-dmax': number,生成一个浮点数，整数部分大于等于 min、小于等于 max，小数部分保留 dmin 到 dmax 位。
        let data4=Mock.mock({
            "num|1-100.0-5":0.12//后续的数值在满足小数位的情况下会将默认小数值进行出现
        });
        console.log(data4);

        let data5=Mock.mock({
            "num|1-100.3":0//保留三位小数
        });
        console.log(data5);

        // 属性值是布尔型 Boolean
        // 'name|1': boolean,随机生成一个布尔值，值为 true 的概率是 1/2，值为 false 的概率同样是 1/2。
        console.log(Mock.mock({
            "boolean|1":true
        }));

        // name|min-max': value
        // 随机生成一个布尔值，值为 value 的概率是 min / (min + max)，值为 !value 的概率是 max / (min + max)。

        console.log(Mock.mock({
            "boolean|1-9":true
        }));

        // 属性值是对象 Object
        // 'name|count': object，从属性值 object 中随机选取 count 个属性。
        console.log(Mock.mock({
            "object|2":{
                "10001":"上海市",
                "20001":"北京市",
                "30001":"浙江省",
                "40001":"江苏省",
                "50001":"安徽省",
            }
        }));
   

        // 'name|min-max': object，从属性值 object 中随机选取 min 到 max 个属性。
        console.log(Mock.mock({
            "object|2-4":{
                "10001":"上海市",
                "20001":"北京市",
                "30001":"浙江省",
                "40001":"江苏省",
                "50001":"安徽省",
            }
        }));

        // 'name|1': array，从属性值 array 中随机选取 1 个元素，作为最终值。
        // 'name|+1': array，从属性值 array 中顺序选取 1 个元素，作为最终值

        let objs={
            "modelA|1":["aa","bb","cc","dd"],
            "modelB|+1":["aaa","bbb","ccc","ddd"],
        };
        
        console.log(Mock.mock(objs));
        console.log(Mock.mock(objs));
        console.log(Mock.mock(objs));


    </script>
</body>
</html>